
export function extendAPIOutput(req, res, next) {
    function output(data) {
        res.setHeader("Content-Type", "application/json");
        // console.log(JSON.stringify(data));
        return res.json(data);
    }
    function throwIfMissing() {
        return new Error('Missing Parameter');
    }
    /**
     * 响应API成功,返回结果
     */
    res.apiSuccess = function (result) {
        if (result) {
            output({
                errcode: 0,
                errmsg: 'ok',
                data: result
            }); 
        }else {
            output({
                errcode: 0,
                errmsg: 'ok',
            });
        }

    };
    /**
     * 响应API失败,返回结果
     */
    res.apiError = function (code, msg = throwIfMissing()) {
        output({
            errcode: code,
            errmsg: msg,
        });
    };
    next();
}

export function apiErrorHandle(err, req, res, next) {
    console.error((err && err.stack) || err.toString());
    // 如果有res.apiError()则使用其来输出出错信息
    if (typeof res.apiError === 'function') {
        return res.apiError(-1,err);
    }
    next();
}

export function renderHtml(req, res) {
    res.render("index.html");
}

